
// (1)类:被class修饰的叫做类。
// 理解：表示现实生活中的【设计图纸】或【设计模板】

// (2)成员变量：在类中定义的变量叫做类的成员变量。
// 理解：表示类的【状态】或【属性】

// (3)成员方法：在类中定义的方法叫做类的成员方法。
// 理解：表示类的【行为】或【功能】

// (4)对象：表示现实生活中的【实例】或【实体】。

// (5)构造方法：方法名和类同名、没有返回值也没有void关键字。
// 类(图纸) ——> 构造方法(创建) ——> 对象(实例)

// (6)创建对象的语法格式：
// 类名 变量 = new 构造方法

// (7)编写类的步骤：
// 创建类、写成员变量、生成构造函数、生成getter和setter、生成toString、主方法中创建对象

// (8)成员变量和局部变量的区别
// 成员变量：类中定义、作用域是类的内部
// 局部变量：方法中定义、作用域是方法内部

// (9)Java语言类型分为两种
// 基本数据类型：8个
// 引用类型(类类型)：其它所有

// (10)基本类型和引用类型区别
// 基本数据类型：变量中存储的是【真实的值】。
// 引用类型：变量中存储的是对象在内存中【地址的值】。

// (11)值传递(方法传参、方法返回return)
// 基本数据类型传递的是真实的值
// 引用类型传递的是地址的值

// (12)static静态关键字
// 前提：区分类、对象
// 被static修饰成员叫静态成员、属于类、通过【类.成员】调用
// 不被static修饰成员叫非静态成员、属于对象、通过【对象.成员】调用
// 了解：静态成员可以被所有对象共享、不建议








//(1)类:被class修饰的叫做类、表示图纸和模板。
//
//(2)成员变量：在类中定义的变量叫做类的成员变量、表示类的状态和属性。
//
//(3)成员方法：在类中定义的方法叫做类的成员方法、表示类的行为和功能。
//
//(4)构造方法：方法名和类同名、没有返回值也没有void关键字。
//
//(5)对象和创建对象的语法格式
//对象：根据类创建出来的实例和实体。
//格式：类名 变量 = new 构造方法()
//
//(6)编写类的步骤：
//创建类、写成员变量、生成构造函数、生成getter和setter、生成toString、主方法中创建对象。
//
//(7)成员变量和局部变量的区别
//成员变量：类中定义、作用域是类的内部。
//局部变量：方法中定义、作用域是方法内部。
//
//(8)基本类型和引用类型
//基本类型：8种基本类型。变量中存储的是真实的值。
//引用类型：除8种基本类型外的其它所有类型。变量中存储的是对象在内存中地址的值。
//
//(9)值传递
//在方法传参和方法返回的过程中、基本类型传递的是真实的值、引用类型传递的是地址的值。
//
//(10)static静态关键字
//被static修饰成员叫静态成员、属于类、通过(类.成员)调用
//不被static修饰成员叫非静态成员、属于对象、通过(对象.成员)调用
//静态成员可以被所有对象共享(不建议使用)

//(11)抽象类:被abstract修饰的类叫做抽象类、表示抽象类的图纸和模板。
//
//(12)构造方法：抽象类中有构造方法、但是不能创建对象。
//
//(13)抽象方法：被abstract修饰的并且没有方法体的方法叫做抽象方法。
//注意：包含抽象方法的类一定是抽象类、抽象类不一定包含抽象方法。
//
//(14)继承：子类通过extends关键字继承父类、父类所有成员子类都有。
//注意：具体类和抽象类之间可以相互继承、抽象类父类设计和具体类子类实现最常用。
//
//(15)向上向下类型转换
//子类型转换为父类型自动转换、父类型转换为子类型必须强制类型转换。

//(16)null关键字：空关键字、只有引用类型才能使用、表示变量中没有地址。
//注意：一个引用类型的变量可以引用0个或1个对象、一个对象可以被多个变量引用。
//
//(17)final关键字：
//被final修饰的变量【不能】更改。
//被final修饰的方法【不能】被子类覆盖重写。
//被final修饰的类【不能】被继承。
//
//(18)this和super关键字
//this：表示当前类的对象。
//super：表示父类的引用。
//
//(19)可见性关键字
//4个范围、3个关键字
//private      私有  本类
//默认  本类 + 本包
//protected    保护  本类 + 本包 + 外包子类
//public       公共  所有
//
//(20)包的定义和导入
//本包的类可以直接使用、外包的类必须导入才能使用
//定义：package 包名
//导入：import 包名.类名


//(21)接口：被interface修饰叫做接口、表示【标准】和【规范】。
//成员变量：默认被public static final修饰。
//成员方法：默认被public abstract修饰。
//注意：接口中没有构造方法、不能创建对象。
//
//(22)类和接口关系：类通过implements关键字实现接口。
//接口：完全设计(10个方法都是抽象方法)
//抽象类：部分实现(5个实现、5个抽象方法)
//具体类：完全实现(10个方法全都实现)
//
//(23)具体类、抽象类、接口
               //具体类                 抽象类                 接口
//定义         class                 abstract class        interface
//成员变量      都可以                 都可以                 public static final
//成员方法      全都实现                部分实现               public abstract
//构造方法      有                     有                    没有
//创建对象      能                     不能                   不能
//创建意图      实现                   设计(继承)              设计
//
//(24)封装
//Java语言是一个面向对象的语言。面向对象语言有三大特征。封装、继承、多态。
//封装性：类把相关的变量和方法封装到类的内部。
//
//(25)继承
//子类通过extends继承父类之后、父类所有成员子类都有。
//如果某个类没有父类、系统会默认继承Object顶

